An E ective Garbage Collection Strategy for Parallel Programming Languages on Large Scale Distributed-Memory Machines
نویسندگان
چکیده
This paper describes the design and implementation of a garbage collection scheme on large-scale distributed-memory computers and reports various experimental results. The collector is based on the conservative GC library by Boehm & Weiser. Each processor traces local pointers using the GC library while traversing remote pointers by exchanging \mark messages" between processors. It exhibits a promising performance|in the most space-intensive settings we tested, the total collection overhead ranges from 5% up to 15% of the application running time (excluding idle time). We not only examine basic performance gures such as the total overhead or latency of a global collection, but also demonstrate how local collection scheduling strategies affect application performance. In our collector, a local collection is scheduled either independently or synchronously. Experimental results show that the bene t of independent local collections has been overstated in the literature. Independent local collections slowed down application performance to 40%, by increasing the average communication latency. Synchronized local collections exhibit much more robust performance characteristics than independent local collections and the overhead for global synchronization is not signi cant. Furthermore, we show that an adaptive collection scheduler can select the appropriate local collection strategy based on the application's behavior. The collector has been used in a concurrent object-oriented language ABCL/f and the performance is measured on a large-scale parallel computer (256 processors) using four non-trivial applications written in ABCL/f .
منابع مشابه
Ecient and Reusable Implementation of Fine-grain Multithreading and Garbage Collection on Distributed-memory Parallel Computers
This thesis studies e cient runtime systems for parallelism management (multithreading) and memory management (garbage collection) on largescale distributed-memory parallel computers. Both are fundamental primitives for implementing high-level parallel programming languages that support dynamic parallelism and dynamic data structures. A distinguishing feature of the developed multithreading sys...
متن کاملEfficient and Reusable Implementation of Fine-Grain Multithreading and Garbage Collection on Distributed-Memory Parallel Computers
This thesis studies e cient runtime systems for parallelism management (multithreading) and memory management (garbage collection) on largescale distributed-memory parallel computers. Both are fundamental primitives for implementing high-level parallel programming languages that support dynamic parallelism and dynamic data structures. A distinguishing feature of the developed multithreading sys...
متن کاملA Methodology for Constructing Portable and Simple Global Garbage Collectors
Many garbage collectors on parallel computers are written in sequential languages, therefore thay are not portable across machines with different communication primitives. Moreover, the description of garbage collectors on distributed memory machines, which use asynchronous messages, is complex. We implemented a garbage collector for parallel object-oriented language Schematic by using Schemati...
متن کاملGarbage Collection in LOGFLOW*
The LOGFLOW is a distributed Prolog system running on multi-transputer machines and workstation clusters. The engines (Distributed Data Driven Prolog Abstract Machines, 3DPAM) execute the Prolog program parallel with fine-grain execution. Coarse-grain pieces of work are executed by traditional sequential WAM (Warren Abstract) machines. In the execution of logic programming languages the memory ...
متن کاملParallelization of Garbage Collection in a CCP System Penny DRAFT
An important property of logic object oriented functional and other high level programming languages is their automatic manage ment of dynamically allocated storage These languages often take the burden of memory management away from the programmer The language support system provides the programmer with a virtually unlimited amount of storage by running a garbage collector to reclaim storage n...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997